Universal digital content zooming techniques

ABSTRACT

Techniques are disclosed for digital content zooming. In one example case, the hypotenuse of the digital content (or a combination of both height and width values of the content) is initially set to provide the 100% zoom level and is subsequently used to resize or zoom that content. In particular, an arbitrary constant that is independent of the content itself is used to define the initial or 100% zoom level at which the content is initially displayed. The arbitrary constant may be, for example, a hypotenuse size in pixels, or a specific combination of height and width in pixels. In one specific example, the arbitrary constant can be selected based on, for instance, an average of current physical screen and/or virtual viewing window resolutions&#39; hypotenuse sizes, in pixels. In any case, the arbitrary constant can be used to set the initial size of the content, and to compute zoom steps.

FIELD OF THE DISCLOSURE

This disclosure relates to zooming techniques, and more particularly, tozooming techniques for consistency across different resolutions andaspect ratios, with respect to both the content itself and the physicaldisplay screen or virtual window.

BACKGROUND

Electronic computing devices such as desktops, laptops, tablets,eReaders, mobile phones, smart phones, personal digital assistants(PDAs), and other such electronic computing devices are commonly usedfor displaying consumable content. The content may be, for example, aneBook, an online article or blog, images, a movie or video, a map, justto name a few types. Such devices are also useful for displaying a userinterface that allows a user to interact with an application running onthe device. The user interface may include, for example, one or moretouch screen controls, one or more displayed labels that correspond tonearby hardware buttons, and/or otherwise selectable user interfacecontrol features. The display may be backlit or not, and may beimplemented for instance with a CRT screen, an LED or plasma screen, oran electrophoretic display. The displayed content can be reduced orexpanded in size with zooming. Zooming generally refers to the abilityto resize digital content at page level, and can also be selectivelyapplied to a given content page such as text-only zoom of a multimediacontent page.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1a illustrates an example electronic computing device, configuredin accordance with an embodiment of the present invention.

FIGS. 1b-c illustrate example configuration screen shots of the userinterface of the computing device shown in FIG. 1a , in accordance withan embodiment of the present invention.

FIG. 2a illustrates a block diagram of an electronic computing device,configured in accordance with an embodiment of the present invention.

FIG. 2b illustrates a block diagram of a communication system includingthe electronic computing device of FIG. 2a , configured in accordancewith an embodiment of the present invention.

FIG. 3 illustrates a piece of content having an aspect ratio(height/width) and a hypotenuse that can be set or otherwise used forpurposes of zooming, in accordance with an embodiment of the invention.

FIG. 4a illustrates an example display screen and window, each having anaspect ratio (height/width) and a hypotenuse that can be used todetermine an arbitrary Zoom Constant, in accordance with an embodimentof the invention.

FIGS. 4b-4f each illustrates an example display device that can showzoomed content, in accordance with an embodiment of the presentinvention.

FIG. 5 illustrates a method for zooming content in an electronic displaysystem, in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION

Techniques are disclosed for digital content zooming. The techniquesallow for consistency across different resolutions and aspect ratios, soas to reduce variation in zoom behavior within and across content aswell as within and across physical display screens and virtual windows.In one example case, a feature of the digital content to be displayed(such as the hypotenuse of the content, or a combination of both theheight and width of the content) is initially set to an arbitrary sizeto provide the initial zoom level (also referred to herein as the 100%zoom level) and is subsequently used to resize or zoom that content. Inparticular, an arbitrary constant that is independent of the contentitself is used to define the initial or 100% zoom level at which thecontent is initially displayed. The arbitrary constant may be, forexample, a hypotenuse size in pixels, or a specific combination ofheight and width in pixels. In one specific example case, the arbitraryconstant can be selected based on, for instance, an average or median ofcurrent physical screen and/or virtual viewing window resolutions'hypotenuse sizes, in pixels. The set of physical screens and/or virtualviewing windows used to determine the arbitrary constant can be selectedor otherwise provided by the user or automatically selected based ondetected use cases or otherwise automatically determined based on anestablished standard or default. In any case, the arbitrary constant canthen be used to set the initial size of the content, and thensubsequently used to compute any zoom steps (e.g., −25% or +30%, etc).

General Overview

In general, predictable and expected or otherwise consistent behavior ina user experience with a given product tends to reduce friction for theuser using a product, which in turn may increase that user'ssatisfaction. In the specific case of zooming into digital content on agiven computing device, various issues effectively preclude achievingsuch predictable and expected behavior. One such issue is that thecontent to be zoomed may have different aspect ratios. For instance, onepage of a given digital document may have a first aspect ratio andanother page of that same document may have another aspect ratiodifferent from the first. Likewise, one digital document to be viewedmight be entirely in one aspect ratio while another digital document tobe viewed is entirely in another aspect ratio. Another such issue isthat the original resolution of the content might vary. For instance,one page of a given digital document may have a first resolution andanother page of that same document may have another resolution differentfrom the first. Likewise, one digital document to be viewed might bemight be entirely in one resolution while another digital document to beviewed is entirely in another resolution (i.e., looks smaller than theother when at maximum resolution). Yet another issue is that the screenresolution or size of the screen and/or virtual viewing window fromwhich the content is accessed might vary. For instance, the size of thephysical display screen can vary greatly from device to device (e.g.,from a mobile device such as smartphone to a tablet device to awidescreen desktop flat panel). Likewise, any given display typicallyhas one or more resolutions that can be set by the display driver. Also,many operating systems automatically resize a given viewing pane orso-called window within a physical screen depending on context, or allowthe user to resize that window. To this end, even while looking at apiece of content, the effective ‘canvas’ (window) within which it isdisplayed might change in aspect ratio (at least one of height and widthdimension of window may change). Such issues basically sum up to twomain groups of variables: original content comes in all aspect ratiosand resolutions, and display systems also come in all aspect ratios andresolutions. These variables mean that the zoom percentages displayed tothe user, and the amount by which a piece of content zooms-in/out everytime the zoom action is invoked, may vary thereby causing aninconsistent user experience.

Thus, and in accordance with an embodiment of the present invention,zooming techniques are provided that reduce variation in zoom behaviorwithin and across content as well as within and across physical displayscreens and virtual windows, thereby providing a relatively consistentbehavior for the user without necessitating the displayed digitalcontent to be normalized and edited on an ad hoc or piece-by-piecebasis. The techniques may be implemented in a number of ways. In oneexample case, the hypotenuse of the digital content (or a combination ofboth height and width of the content) is initially set to provide the100% zoom level and is subsequently used to resize or zoom that content.In particular, an arbitrary constant that is independent of the contentitself is used to define the initial or 100% zoom level at which thecontent is initially displayed. The arbitrary constant may be, forexample, a hypotenuse size in pixels, or a specific combination ofheight and width in pixels, or some other content feature. In onespecific example case, the arbitrary constant can be selected based on,for instance, an average of current physical screen and/or virtualviewing window resolutions' hypotenuse sizes, in pixels. The set ofphysical screens and/or virtual viewing windows used to determine thearbitrary constant can be selected or otherwise provided by the user orautomatically selected based on detected use cases or otherwiseautomatically determined based on an established standard or suitabledefault. In any case, the arbitrary constant can then be used to set theinitial size of the content, and then subsequently used to compute anyzoom steps (e.g., −25% or +30%, etc). The effect is that if in onedisplay screen or window an image of given content is one square inch at100% zoom, the image of that content is also one square inch at 100%zoom in any another display screen or window, in accordance with anembodiment. Furthermore, if every zoom increase (or decrease, as thecase may be) in one given display screen or window leads to everythingbeing one square inch bigger (or smaller), then every zoom step in anyanother display screen or window will also make the content one squareinch bigger (or smaller).

In an embodiment, the combination of an arbitrary constant against whichall digital content is zoomed and a ratio between content width andcontent height, as opposed to just one, controls for many zoomingvariables such as original content dimensions and aspect ratio, and userscreen resolution and size. This combination also provides the user withnormalized percentages (based on the arbitrary constant) so that, forexample, 150% zoom is optically very similar across different pieces ofcontent seen across different display screens, such as from a mobiledevice to a large television or flat panel. Despite the fact thatoriginal content and display systems can effectively present variableaspect ratios and resolutions, the techniques reduce or otherwisemitigate the occurrence of zooming increments and zoom percentages beingperceptibly physically different to the users within and across digitalcontent and display screens. A normalized user experience is thusprovided and those variables may effectively become constants where zoomis concerned.

As will be appreciated in light of this disclosure, an exact match inzoom behavior within a piece of content, or from one piece of content toanother piece, or from one display screen to another display screen, orfrom one display window of a given display screen to another displaywindow of that display screen, is not required. Rather, in someembodiments, there are no human-perceptible differences, with respect toa user having ordinary or average observation ability. An ordinaryobserver may be, for instance, a person who uses multiple computingdevices (e.g., mobile computing device and laptop or desktop computer)to view content multiple times a day, for the likes of casual reading,email, work responsibilities, etc. In still other embodiments, there maybe a negligible or otherwise acceptable degree of variation in zoombehavior. For instance, in accordance with some embodiments, if in onedisplay screen or window an image of given content is one square inch at100% zoom, the image of that content is also about one square inch(e.g., within an acceptable tolerance of one square inch, such as+/−20%, or +/−15%, or +/−10%, or +/−5%, or +/−2%) at 100% zoom in anyanother display screen or window. Likewise, if every zoom increase inone given display screen or window leads to the displayed content beingone square inch bigger, then every zoom step in any another displayscreen or window will also make the content about one square inch bigger(e.g., within an acceptable tolerance of one square inch, such as theprevious example tolerances). As will be further appreciated in light ofthis disclosure, any acceptable degree of variance need not besymmetrical or evenly distributed with respect to the height and widthof the given content, display, or display window. For instance, thevariance may be with respect to the height only, or width only, or somecombination of height and width. In this last case, note that thevariation percentage with respect to height need not be the same as thevariation percentage with respect to width.

Computing Device

FIG. 1 a illustrates an example electronic computing device, configuredin accordance with an embodiment of the present invention. The devicecould be, for example, a tablet such as the NOOK® tablet by Barnes &Noble® or any other tablet device. In a more general sense, the devicemay be any computing device or system capable of displaying digitalcontent, such as a smart phone, eReader, laptop, set-top box and flatpanel television, or desktop computer, for example. In some instances,the computing device may include a touch screen display, or anon-touch-sensitive display screen that can be used in conjunction witha touch-sensitive surface/interface such as a track pad and/or otheruser input devices such as a keyboard and mouse. As will be appreciatedin light of this disclosure, the techniques provided herein are notintended to be limited to any particular kind or type of computingdevice or system. For ease of description, the term computing device isused herein to refer to any such computing arrangements. Further notethat the computing device may include an integral display or anindependent display.

As can be seen with the example embodiment shown in FIG. 1a , the devicecomprises a housing/frame that includes a number of hardware featuressuch as a power button and a press-button or so-called home button. Atouch screen based user interface (UI) is also provided in thisembodiment, which in this example case includes a quick navigation menuhaving six main categories to choose from (Home, Library, Shop, Search,Light, and Settings) and a status bar that includes a number of icons (anight-light icon, a wireless network icon, and a book icon), a batteryindicator, and a clock. Other embodiments may have fewer or additionalsuch UI touch screen controls and features, or different UI touch screencontrols and features altogether, depending on the target application ofthe device. Although the depicted computing device uses a touch screendisplay, other touch-sensitive embodiments may include a non-touchscreen and a touch-sensitive surface such as a track pad, or atouch-sensitive housing configured with one or more acoustic sensors,etc. As will be further appreciated, the computing device need not betouch-sensitive and may receive input from physical buttons, directionalpads, joysticks, mouse pointing devices, and physical keyboards, just toname a few other input device examples.

Continuing with the example computing device shown in FIG. 1a , thepower button can be used to turn the device on and off, and may be usedin conjunction with a touch-based UI control feature that allows theuser to confirm a given power transition action request (e.g., such as aslide bar or tap point graphic to turn power off). In this exampledevice, the home button is a physical press-button that can be used todisplay the device's home screen when the device is awake and in use.Note that the buttons as variously described herein may be physical,virtual, or some combination thereof, depending upon the embodiment. Thehome button may also be configured to cease an active function that iscurrently executing on the device. Numerous other configurations andvariations will be apparent in light of this disclosure, and the presentdisclosure is not intended to be limited to any particular set ofcontrol features or device form factor.

Continuing with the example embodiment of FIG. 1a , the user can accessa configuration sub-menu by tapping or otherwise selecting the Settingsoption in the quick navigation menu, which causes the device in thisembodiment to display the general sub-menu shown in FIG. 1b . From thisgeneral sub-menu the user can select any one of a number of options,including one designated User Interface (UI) in this specific examplecase. Selecting this sub-menu item (with, for example, an appropriatelyplaced screen tap or mouse click) may cause the configuration sub-menuof FIG. 1c to be displayed, in accordance with an embodiment. In otherexample embodiments, selecting the User Interface (UI) option maypresent the user with a number of additional sub-options, one of whichmay include a zoom configuration option, which may then be selected bythe user so as to cause the zoom configuration sub-menu of FIG. 1c to bedisplayed. Any number of such menu schemes and nested hierarchies can beused, as will be appreciated in light of this disclosure. In otherembodiments, the universal zoom mode as described herein may behard-coded such that no configuration is needed or otherwise permitted.The degree of hard-coding versus user-configurability can vary from oneembodiment to the next, and the present disclosure is not intended to belimited to any particular configuration scheme of any kind, as will beapparent in light of this disclosure.

As will be appreciated, the various UI control features and sub-menusdisplayed to the user are implemented as UI touch screen controls inthis example embodiment. Such UI touch screen controls can be programmedor otherwise configured using any number of conventional or customtechnologies. In general, the touch screen translates one or moretouches (whether direct or proximate and whether made by a user'sfingertip, a stylus, or some other suitable implement) in a particularlocation(s) into an electrical signal, which is then received andprocessed by the underlying operating system (OS), system software, andcircuitry (processor, etc) of the computing device. In some instances,note that the user need not actually physically touch thetouch-sensitive surface to provide user input (e.g., when thetouch-sensitive surface recognizes hovering input). In embodiments wherethe computing device is not-touch-sensitive, input may be provided usinga mouse, joystick, or directional pad, and one or more buttons, forexample, to provide input similar to touching a touch screen. In someembodiments, the UI may allow other user interactions, such asvoice-commands. Additional example details of the underlying OS andcircuitry in accordance with some embodiments will be discussed in turnwith reference to FIG. 2 a.

Continuing with FIG. 1b , once the Settings sub-menu is displayed, theuser can then select the User Interface (UI) option. In response to sucha selection, the zoom configuration sub-menu shown in FIG. 1c can beprovided to the user. In this example case, the configuration sub-menuincludes a UI check box that when checked or otherwise selected by theuser, effectively enables the mode (shown in the Enabled state);unchecking the box disables the mode. Other embodiments may have thezoom mode always enabled, while in other embodiments the mode may beenabled or disengaged by a physical switch or button, or by a uniquelyidentifiable gesture or screen contact, for example. As can be seen inthe example shown in FIG. 1c , the sub-menu includes a left section thatallows a user to configure a number of options for the universal zoommode and a right section that allows a user to enable/disable theuniversal zoom mode for various applications. The left section in thisexample sub-menu allows the user to select a Content Zoom Feature and anarbitrary Zoom Constant. The Content Zoom Feature is the feature ofgiven content that will be defined or otherwise set based on thearbitrary Zoom Constant, and the Zoom Constant is the arbitrary constant(in pixels or other suitable units) that will be used to set the 100%zoom level against which all zoom steps will be computed.

In this example embodiment of FIG. 1c , the Content Zoom Feature can beeither the Hypotenuse of the given content or a Custom Ratio (H/W) ofheight and width of the given content. If the Hypotenuse is selected forthe Content Zoom Feature (by checking the corresponding checkbox or someother suitable UI selection mechanism), then the Arbitrary HypotenuseSize option under the Zoom Constant configuration can also be checked orselected (either by the user or automatically). Note that in some suchembodiments, the Custom Ratio (H/W) options can be grayed-out orotherwise diminished from view so as to indicate they are no longerselectable options once the Hypotenuse option under the Content ZoomFeature configuration is selected (and vice-versa if the Custom Ratio(H/W) options are selected). As can be further seen, the ArbitraryHypotenuse Size option has two sub-options in this example case: the AvgScreen Size (pixels) option and the User Defined Screens option. The AvgScreen Size (pixels) option may be a predetermined or hardcodedarbitrary hypotenuse size that is based on an average screen size ofmultiple common and arbitrary screen types, thereby providing thearbitrary Zoom Constant. On the other hand, the User Defined Screensoption allows the user to identify each of the specific display deviceswith which she/he will be accessing content. In one such example case,in response to the User Defined Screens checkbox being checked, the usermay be presented with a sub-screen that lists common display deviceseach of which has a known hypotenuse size in pixels (or some otherunits). The user can thus check or otherwise select each of her/hisdisplay devices, or manually enter an unlisted device along with itsknown hypotenuse size. In any case, the average hypotenuse size (or someother statistically representative value such as median hypotenuse size)of those user-identified display devices can be determined to be thearbitrary Zoom Constant. With further reference to FIG. 1c , if theCustom Ratio (H/W) is selected for the Content Zoom Feature, then theCustom Ratio (H/W) option under the Zoom Constant configuration can alsobe checked or selected. In this case, the user can enter the desiredHeight and Width (both in pixels in this example case) in thecorresponding text boxes. The arbitrary Height and Width can then beused as the arbitrary Zoom Constant. The configuration options presentedin this example embodiment are shown for illustrative purposes (e.g., toillustrate that one or more aspects of the universal zoom mode may beuser-configurable) and the zoom mode may include additional and/or othercustomizable features or aspects, as will be apparent in light of thisdisclosure.

The right side of the settings sub-menu screen shot shown in FIG. 1cincludes an Applications section that allows a user to individuallyenable the universal zoom mode for specific applications or even allapplications, in this example embodiment. Such a configuration featuremay be helpful, for instance, in a tablet or laptop or othermultifunction computing device that can execute different applications(as opposed to a computing device that is more or less dedicated to aparticular application). Note that, in some embodiments, the universalzoom mode may be application specific or implemented at a global level.As can be seen in the example screen shot shown in FIG. 1c , the mode isenabled for the eBook Reader, Document Viewer, and Image Viewerapplications. As can be further seen, for each of the eBook Reader andDocument Viewer applications, the user can specify the number of pagesto be displayed at one time. In this example case, the user has selectedthe 2-page option for the eBook Reader application, so as tosimultaneously display opposing pages to either side of a virtualcentral binder. In such cases, the Zoom Content Feature is with respectto two pages. In contrast, the user has selected the 1-page option forthe Document Viewer application, so only one page content will bedisplayed at a time. Thus, in such cases, the Zoom Content Feature iswith respect to one page. Other multi-page viewing schemes will beapparent in light of this disclosure, and the Zoom Content Feature canbe configured accordingly. The settings screen of this exampleembodiment also includes an Additional Applications button that can beselected to allow a user to enable/disable the universal zoom mode forother applications. In some embodiments, the universal zoom mode may belater enabled for a particular application from this settings screen orenabled from within a specific application. Any number of applicationsor device functions may benefit from the universal zoom mode asvariously provided herein, whether user-configurable or not, and thepresent disclosure is not intended to be limited to any particularapplication or set of applications.

As can be further seen, a back button UI control feature may beprovisioned on the touch screen for any of the menus provided, so thatthe user can go back to the previous menu, if so desired. Note thatconfiguration settings provided by the user can be saved automatically(e.g., user input is saved as selections are made or otherwiseprovided). Alternatively, a save button or other such UI feature can beprovisioned, which the user can engage as desired. Again, while FIGS. 1band 1c show user configurability, other embodiments may not allow forany such configuration, wherein the various universal zoom featuresprovided herein are hard-coded or otherwise provisioned by default. Thedegree of hard-coding versus user-configurability can vary from oneembodiment to the next, and the present disclosure is not intended to belimited to any particular configuration scheme of any kind.

Architecture

FIG. 2a illustrates a block diagram of a computing device configured inaccordance with an embodiment of the present invention. As can be seen,this example device includes a processor, memory (e.g., RAM and/or ROMfor processor workspace and storage), additional storage/memory (e.g.,for content), a communications module, a display screen, and an audiomodule. A communications bus and interconnect is also provided to allowinter-device communication. Other typical componentry and functionalitynot reflected in the block diagram will be apparent (e.g., battery,co-processor, etc.). The principles provided herein equally apply to anycomputing device.

The display may be, for example, a touch-sensitive display or touchscreen. In some embodiments, the touch screen display can be configuredwith a purely capacitive sensor, while in other embodiments the touchscreen display may be configured to provide a hybrid mode that allowsfor both capacitive input and active stylus input. In any suchembodiments, a touch screen controller may be configured to selectivelyscan the touch screen display and/or selectively report contactsdetected directly on or otherwise sufficiently proximate to (e.g.,within a few centimeters) the touch screen display. The proximatecontact may include, for example, hovering input used to cause locationspecific input as though direct contact were being provided on atouch-sensitive surface (such as a touch screen). Numerous touch screendisplay configurations can be implemented using any number of known orproprietary screen based input detecting technology. The display can beimplemented, for example, with a 7 to 9 inch 1920×1280 in-planeswitching (IPS) LCD touchscreen touch screen, or any other suitabledisplay and touch-sensitive interface technology. In still otherembodiments, the display is a regular non-touch sensitive display (andLED display of a laptop or a stand-alone display that is operativelyconnected to a computer housing that includes the processor, memory,storage, communication module, and audio module).

Continuing with the example embodiment shown in FIG. 2a , the memoryincludes a number of modules stored therein that can be accessed andexecuted by the processor (and/or a co-processor). The modules includean operating system (OS), a user interface (UI), and a powerconservation routine (Power). The modules can be implemented, forexample, in any suitable programming language (e.g., C, C++, objectiveC, JavaScript, custom or proprietary instruction sets, etc.), andencoded on a machine readable medium (e.g., RAM or ROM), that whenexecuted by the processor (and/or co-processors), carries out thefunctionality of the device, including the universal zoom mode asvariously described herein. Other embodiments can be implemented, forinstance, with gate-level logic or an application-specific integratedcircuit (ASIC) or chip set or other such purpose built logic, or amicrocontroller having input/output capability (e.g., inputs forreceiving user inputs and outputs for directing other components) and anumber of embedded routines for carrying out the device functionality.In short, the functional modules can be implemented in hardware,software, firmware, or a combination thereof.

The processor can be any suitable processor (e.g., Texas InstrumentsOMAP4, dual-core ARM Cortex-A9, 1.5 GHz), and may include one or moreco-processors or controllers to assist in device control. In thisexample case, the processor receives input from the user, includinginput from or otherwise derived from the power button, home button,touch-sensitive surface, or other user input devices such as from amouse or keyboard. The processor can also have a direct connection to abattery so that it can perform base level tasks even during sleep or lowpower modes. The memory (e.g., for processor workspace and executablefile storage) can be any suitable type of memory and size (e.g., 256 or512 Mbytes SDRAM), and in other embodiments may be implemented withnon-volatile memory or a combination of non-volatile and volatile memorytechnologies. The storage (e.g., for storing consumable content and userfiles) can also be implemented with any suitable memory and size (e.g.,2 GBytes of flash memory).

The communications module can be, for instance, any suitable 802.11b/g/n WLAN chip or chip set, which allows for connection to a localnetwork so that content can be downloaded to the device from a remotelocation (e.g., content provider, etc., depending on the application ofthe computing device). In some specific example embodiments, the devicehousing or frame that contains all the various componentry measuresabout 7″ to 9″ high by about 5″ to 6″ wide by about 0.5″ thick, andweighs about 7 to 8 ounces. Any number of suitable form factors can beused, depending on the target application (e.g., laptop, smart phone,etc.). The device may, for example, smaller for smart phone and eReaderapplications and larger for tablet computer applications.

The operating system (OS) module can be implemented with any suitableOS, but in some example embodiments is implemented with Google AndroidOS or Linux OS or Microsoft OS or Apple OS. The power management (Power)module can be configured as typically done, such as to automaticallytransition the device to a low power consumption or sleep mode after aperiod of non-use. A wake-up from that sleep mode can be achieved, forexample, by a physical button press and/or a touch screen swipe or otheraction. The audio module can be configured, for example, to speak orotherwise aurally present a selected eBook or other textual content. Insome example cases, if additional space is desired, for example, tostore digital books or other content and media, storage can be expandedvia a microSD card or other suitable memory expansion technology (e.g.,32 GBytes, or higher). The UI module can be, for example, based on touchscreen technology, and the various example screen shots and exampleuse-cases shown in FIGS. 1a-c, 3a, and 4a-f , in conjunction with themethodology demonstrated in FIG. 5, which will be discussed in turn.

Client-Server System

FIG. 2b illustrates a block diagram of a communication system includingthe electronic computing device of FIG. 2a configured in accordance withan embodiment of the present invention. As can be seen, the systemgenerally includes an electronic computing device that is capable ofcommunicating with a server via a network/cloud. In this exampleembodiment, the computing device may be, for example, an eReader, asmart phone, a laptop, a tablet computer, a desktop computer, or anyother suitable computing device. The network/cloud may be a publicand/or private network, such as a private local area network operativelycoupled to a wide area network such as the Internet. In this exampleembodiment, the server may be programmed or otherwise configured toreceive content requests from a user via the computing device and torespond to those requests by providing the user with requested orotherwise recommended content. In some such embodiments, the server maybe configured to remotely provision the universal zoom mode as variouslyprovided herein to the computing device (e.g., via JavaScript or otherbrowser based technology). In other embodiments, portions of themethodology may be executed on the server and other portions of themethodology may be executed on the device. Numerousserver-side/client-side execution schemes can be implemented tofacilitate the universal zoom mode as disclosed herein, as will beapparent in light of this disclosure.

Content Zoom Feature

FIG. 3 illustrates a piece of content having an aspect ratio(height/width) and a hypotenuse that can be set or otherwise used forpurposes of zooming, in accordance with an embodiment of the invention.As will be appreciated in light of this disclosure, although the exampledepicted in FIG. 3 is a digital photo or image, the content may be anytype of digital content, such as a photo or image (e.g., file.jpeg), aword processor document (e.g., file.docx), a multimedia document (e.g.,file.pdf), a video or movie (e.g., file.mpeg), a web page (e.g.,file.html), an eBook (e.g., file.epub), a slide-based presentation(e.g., file.ppt), an email (e.g., file.msg), or a spreadsheet (e.g.,file.xls), to name a few examples. As can be seen, the content has anaspect ratio (height/width) and a hypotenuse. In general, any givenpiece of content to be displayed, regardless of type, can be at leastpartially defined in terms of a height, width, and hypotenuse each ofwhich can be measured in a given unit, such as pixels, inches,millimeters, etc.

As previously explained with reference to FIG. 1c , the hypotenuse orthe combination of height and width of a given piece of content can beused as the Content Zoom Feature that is defined or otherwise set basedon the arbitrary Zoom Constant. Further recall that the Zoom Constant isthe arbitrary constant (in pixels or other suitable units) that will beused to set the 100% zoom level against which all zoom steps arecomputed, in accordance with an embodiment of the present invention. So,in one example case, the hypotenuse of the content to be initiallydisplayed can be set to the hypotenuse size indicated by the ZoomConstant. Then, any subsequent zoom step can be computed against thatinitially sized content. In a similar fashion, the height and width ofthe content to be initially displayed can be set to the height and widthindicated by the Zoom Constant, and any subsequent zoom step can becomputed against that initially sized content. For example, a zoom stepcalling for a 25% size increase would increase the size of thehypotenuse of the currently displayed content by 25% (assuming thehypotenuse is the Content Zoom Feature). Likewise, a zoom step callingfor a 50% size decrease would decrease the size of both the height andwidth of the currently displayed content by 50% (assuming thecombination of height and width is the Content Zoom Feature). And so on,and so on.

In some cases, the content may be paginated and include multiple pageswhere each page is separately displayable, such as an electronic book orso-called eBook. In such cases, the Content Zoom Feature (e.g.,height-width combination or hypotenuse of the content) is with respectto a given number of pages of that multi-page document, in accordancewith an embodiment. In some such cases, the given number of pages isuser-configurable, as discussed with reference to FIG. 1c . In any case,each page or page group of that content will have that Content ZoomFeature when initially displayed, and can be zoomed from there asdesired based on the arbitrary zoom constant. In other cases where thecontent is a single but relatively long (height) and/or wide (width)page, such as a web page that cannot be displayed all at once and isscrollable in at least one of the vertical and horizontal directions,the initial display at 100% zoom may need to be zoomed in one or morezoom steps to be more viewable, depending on how long or wide thecontent at a viewable zoom level.

Zoom Constant

FIG. 4a illustrates an example display screen and window, each having anaspect ratio (height/width) and a hypotenuse that can be used todetermine an arbitrary Zoom Constant, in accordance with an embodimentof the invention. As can be seen, the physical display screen has aheight (H_(screen)) and width (W_(screen)), as well as a hypotenuse(Hyp_(screen)). Likewise, the virtual window has a height (H_(window))and width (W_(window)), as well as a hypotenuse (Hyp_(window)). Just aswith digital content, any given physical display or virtual window,regardless of type, can be at least partially defined in terms of aheight, width, and hypotenuse each of which can be measured in a givenunit, such as pixels, inches, millimeters, etc. As previously noted,many operating systems automatically resize a given virtual windowwithin a physical screen depending on context, or allow the user toresize that virtual window. To this end, the size of such windows isknown or can otherwise be determined. Once dimensions (e.g., height,width, hypotenuse, in pixels) of the various physical displays andvirtual windows are known, those dimensions can be used to compute anarbitrary Zoom Constant, in accordance with an embodiment.

In one example case, the arbitrary Zoom Constant is an averagehypotenuse size of various physical displays and virtual windows. Inanother example case, there are two arbitrary Zoom Constants, one beingan average hypotenuse size of various physical displays and the otherbeing an average hypotenuse size of the various virtual windows. Thevarious physical displays and virtual windows can be identified by theuser, automatically detected or inferred, or otherwise estimated. FIGS.4b-4f each illustrates an example display device that can show zoomedcontent, in accordance with an embodiment of the present invention. Ascan be seen, FIGS. 4b-d each shows a portable computing device,including a tablet, laptop, and smartphone, respectively. FIG. 4eillustrates a typical LED or flat panel display or television screen,and FIG. 4f illustrates a typical CRT display. Each of these displayshas a physical screen size for displaying content, and can further beused to display a virtual window in which content is displayed.

Universal Zoom Mode Methodology

FIG. 5 illustrates a method for zooming content in an electronic displaysystem, in accordance with an embodiment of the present invention. Theexample methodology may be implemented, for instance, by the UI moduleof the example computing device shown in FIG. 2a , or the examplecomputing device shown in FIG. 2b (e.g., with the UI provisioned to theclient by the server). To this end, the UI may be implemented insoftware, hardware, firmware, or any suitable combination thereof, aswill be appreciated in light of this disclosure. The computing deviceitself may be, for example, a mobile computing device with an integrateddisplay screen, such as a tablet, laptop, or smartphone. Alternatively,the computing device may not be mobile and/or may be operativelyconnected to an external display screen, such as a desktop computer or aset-top box and television arrangement. In any such cases, the methodcan be executed on the given computing device so as to provide universalzoom mode functionality.

The method includes receiving 501 content to be displayed. As previouslyexplained, the content can be any type of digital content, and may bepaginated so as to include separately displayable pages, or anun-paginated single page of content. For paginated content, a singlepage may be displayed at any one time in some cases, or multiple pages(generally referred to herein as a page group) may be displayed at thesame time in other cases (such as in the case of simultaneouslydisplaying opposing pages to either side of a virtual central binder inan eReader application so as to simulate a real book readingexperience). As will be appreciated in light of this disclosure, thedesignated Zoom Content Feature (e.g., hypotenuse or height-widthcombination or other suitable feature of the target content that can beset based on the Zoom Constant) is with respect to the desired number ofcontent pages to be displayed at any one time, whether that number beone page, two pages, or more.

The method optionally continues with determining 503 if the universalzoom mode is active. If not, the method continues with using 504standard zoom functionality. On the other hand, if the universal zoommode is active or otherwise engaged, then the method continues withimplementing the universal zoom mode as will be discussed in turn withreference to 505-517. In other embodiments, note that the universal zoommode may always be active, such that the determination at 503 is notnecessary.

The method continues with setting 505 the initial or so-called 100% zoomlevel using an arbitrary constant. As previously explained, in oneembodiment, this entails setting the hypotenuse (Content Zoom Feature)of the target content to be displayed to be the size designated by theZoom Constant. In still another embodiment, this entails setting theheight and width (Content Zoom Feature) of the target content to bedisplayed to be the sizes designated by the Zoom Constant. In thislatter case, note that the Zoom Constant can include multiple values,one for each aspect of a multi-faceted Content Zoom Feature (e.g.,height and width, or height and hypotenuse, or width and hypotenuse).Further note that Pythagorean's theorem can be used to compute missingdata, as desired. In some specific embodiments, the arbitrary ZoomConstant can be based on an average or median hypotenuse size of thephysical display and/or virtual window sizes as previously explained.Other statistically representative hypotenuse sizes can be used, as willbe appreciated.

The method continues with displaying 507 the content using the 100% zoomlevel, and sometime thereafter receiving 509 a zoom command. The zoomcommand can be provided by any suitable user input or as otherwisenormally done, such as by a two-finger spread gesture or thesimultaneous pressing of the CTRL key and turning of a mouse scrollwheel, or the pressing of a zoom-in or zoom-out control button, to namea few. As known, in computing devices including a touch screen or othertouch-sensitive interface, the computing device can detect contact,whether direct or proximate (e.g., via hovering input), which can beused in various ways to implement UI functionality, including openingdigital content to consume it, performing a zoom command, or otherinput.

The method continues with calculating 511 the zoom step corresponding tothe requested zoom command based on the arbitrary constant, and thenresizing 513 the currently displayed content using the zoom step. So,for example, if the arbitrary constant is a hypotenuse size of 300pixels and the zoom command is a 20% increase, then the contentcurrently displayed is zoomed so that its hypotenuse is effectively 360pixels. A subsequent zoom step would be calculated against the nowcurrently displayed hypotenuse size of 360 pixels. In another example,if the arbitrary constant is a height of 250 pixels and a width of 200pixels and the zoom command is a 10% decrease, then the contentcurrently displayed is zoomed out so that its height is effectively 225pixels and its width is effectively 180 pixels. A subsequent zoom stepwould be calculated against the now currently displayed height of 225pixels and width of 180 pixels. Numerous other example zoom-based usecases will be apparent in light of this disclosure.

The method continues with determining 515 if a new zoom command isreceived. As previously noted, each subsequent zoom command is executedagainst the currently displayed content which will have a Content ZoomFeature sized according to the last executed zoom step. In this sense,the initial size of the Content Zoom Feature set by the arbitrary ZoomConstant is updated at each subsequent zoom step. If a new zoom commandis received, the method repeats at 511 and continues from there. If not,then the method continues with determining 517 if new content has beenreceived. If so, the method repeats at 503 (or 505, as the case may be)and continues from there. Thus, a user may provide user input to causethe display of a new page or page group and zoom in and out of thatcontent as desired.

Various advantages of the disclosed techniques will be apparent. Forinstance, content may come in various original sizes. If the 100% sizeinitially displayed is set to the original size of the content, and thezoom steps are in percentages as per standard, then the zoom steps willvary between pieces of content. Additionally, the variance in originalsize means that 100% is different for different for each piece ofcontent and the user can't associate a particular zoom percentage asoptimal. In addition, some content has different aspect ratios and, forease of computation, the zoom percentages are percentages of height orwidth, which would means that content made in portrait will zoom atdifferent steps than content in landscape. In addition, if the contentis fit to the window size and that size is called the 100% size, thenthe percentages and zoom levels will change if the user resizes theirwindow or uses another device/screen. Hence, an in accordance with anembodiment of the present disclosure, a solution is provided to resolveall these variables and provide zooming consistency and predictablebehavior for the user. Using a Content Zoom Feature (such as ahypotenuse or height-width combination) of the content instead of heightor width to calculate percentages and zoom effectively controls foraspect ratios. In addition, choosing an arbitrary Zoom Constant (such ahypotenuse size or a height-width size combination in pixels or othersuitable units) as 100% both for initial display to the user and todetermine the zoom steps allows for consistency across content sizes, aswell as true meaning to the percentages (for the user) as percentageswill be consistent across screen sizes and content sizes. Note thatoriginal content dimensions can be stored or otherwise preserved forresolution sake.

Numerous variations and embodiments will be apparent in light of thisdisclosure. One example embodiment of the present invention provides amethod for zooming content in an electronic display system. The methodincludes receiving content to be displayed, and setting an initial zoomlevel using an arbitrary constant that is independent of the content tobe displayed. The method continues with displaying the content using theinitial zoom level, and in response to a zoom command, resizing thedisplayed content using a zoom step that is computed against thearbitrary constant. In some cases, the content to be displayed ispaginated and the initial zoom level and zoom step are applied to asingle page or page group of the content, such that only a single pageor page group are displayed at any one time. In some cases, content tobe displayed has a height, width, and hypotenuse, and the arbitraryconstant defines the initial size of the hypotenuse, and each zoom stepis computed against a currently displayed hypotenuse size. In somecases, content to be displayed has a height, width, and hypotenuse, andthe arbitrary constant defines the initial sizes of the height andwidth, and each zoom step is computed against a currently displayedheight-width size combination.

In some cases, the arbitrary constant is based on a statisticallyrepresentative hypotenuse size computed from a plurality of hypotenusesizes of different physical displays and/or virtual windows. In stillother example cases, the arbitrary constant is based on a statisticallyrepresentative height-width size combination computed from a pluralityof height-width size combinations of different physical displays and/orvirtual windows.

Another example embodiment of the present invention provides a computerprogram product comprising a plurality of instructions non-transientlyencoded thereon that when executed by one or more processors cause aprocess for zooming content in an electronic display system to becarried out. The computer program product may include one or morecomputer readable mediums such as, for example, a hard drive, compactdisk, memory stick, server, cache memory, register memory, random accessmemory, read only memory, flash memory, or any suitable non-transitorymemory that is encoded with instructions that can be executed by one ormore processors, or a plurality or combination of such memories. In thisexample embodiment, the process is configured to set an initial zoomlevel using an arbitrary constant that is independent of content to bedisplayed, and present for display the content using the initial zoomlevel. In response to a zoom command, the process is further configuredto resize the content presented for display using a zoom step that iscomputed against the arbitrary constant. In some cases, wherein thecontent to be displayed is paginated and the initial zoom level and zoomstep are applied to a single page or page group of the content, suchthat only a single page or page group are displayed at any one time. Insome cases, content to be displayed has a height, width, and hypotenuse,and the arbitrary constant defines the initial size of the hypotenuse,and each zoom step is computed against a currently displayed hypotenusesize.

In one specific such case, the arbitrary constant is a statisticallyrepresentative hypotenuse size computed from a plurality of hypotenusesizes of different physical displays and/or virtual windows. In somecases, content to be displayed has a height, width, and hypotenuse, andthe arbitrary constant defines the initial sizes of the height andwidth, and each zoom step is computed against a currently displayedheight-width size combination.

In one specific such case, the arbitrary constant is based on astatistically representative height-width size combination computed froma plurality of height-width size combinations of different physicaldisplays and/or virtual windows. In some cases, the computer programproduct comprises a universal zoom mode for an eReader application.

Another embodiment of the present invention provides a computing system.The system includes a processor and a memory for storing a zoom modeapplication executable by the processor to: set an initial zoom levelusing an arbitrary constant that is independent of content to bedisplayed, and present for display the content using the initial zoomlevel. In response to a zoom command, the zoom mode application isfurther executable by the processor to resize the content presented fordisplay using a zoom step that is computed against the arbitraryconstant. In some cases, the content to be displayed is paginated andthe initial zoom level and zoom step are applied to a single page orpage group of the content, such that only a single page or page groupare displayed at any one time. In some cases, content to be displayedhas a height, width, and hypotenuse, and the arbitrary constant definesthe initial size of the hypotenuse, and each zoom step is computedagainst a currently displayed hypotenuse size.

In one such case, the arbitrary constant is a statisticallyrepresentative hypotenuse size computed from a plurality of hypotenusesizes of different physical displays and/or virtual windows. In somecases, content to be displayed has a height, width, and hypotenuse, andthe arbitrary constant defines the initial sizes of the height andwidth, and each zoom step is computed against a currently displayedheight-width size combination.

In one such case, the arbitrary constant is based on a statisticallyrepresentative height-width size combination computed from a pluralityof height-width size combinations of different physical displays and/orvirtual windows. In some cases, the system is a mobile computing devicehaving an integral display screen (such as a tablet, eReader, orsmartphone.

The foregoing description of the embodiments of the present disclosurehave been presented for the purposes of illustration and description. Itis not intended to be exhaustive or to limit the disclosure to theprecise forms disclosed. Many modifications and variations are possiblein light of this disclosure. It is intended that the scope of thepresent invention be limited not by this detailed description, butrather by the claims appended hereto.

What is claimed is:
 1. A method for zooming content in an electronicdisplay system, the method comprising: receiving content to bedisplayed; setting an initial zoom level using an arbitrary constantthat is independent of the content to be displayed, wherein thearbitrary constant is based on a plurality of known sizes of differentphysical displays or virtual windows or both physical displays andvirtual windows; displaying the content using the initial zoom level;and in response to a zoom command, resizing the displayed content usinga zoom step that is computed against the arbitrary constant.
 2. Themethod of claim 1, wherein the content to be displayed is paginated andthe initial zoom level and zoom step are applied to one or more pages ofthe content, such that only a single page or page group is displayed atany one time.
 3. The method of claim 1, wherein the arbitrary constantis based on the known sizes of the different physical displays.
 4. Themethod of claim 1, wherein the arbitrary constant is based on the knownsizes of the different virtual windows.
 5. The method of claim 1,wherein the arbitrary constant is based on an average hypotenuse sizecomputed from a plurality of hypotenuse sizes of the different physicaldisplays and/or virtual windows.
 6. The method of claim 1, wherein thearbitrary constant is based on an average height-width size combinationcomputed from a plurality of height-width size combinations of thedifferent physical displays and/or virtual windows.
 7. The method ofclaim 1, wherein the plurality of known sizes of the different physicaldisplays and/or virtual windows upon which the arbitrary constant isbased is user-selectable.
 8. The method of claim 1, wherein theplurality of known sizes of the different physical displays and/orvirtual windows upon which the arbitrary constant is based isautomatically selected.
 9. At least one non-transitory computer readablestorage medium having instructions encoded thereon that, when executedby one or more processors, result in the following operations forzooming content in an electronic display system, the operationscomprising: set an initial zoom level using an arbitrary constant thatis independent of content to be displayed, wherein the arbitraryconstant is based on a plurality of known sizes of different physicaldisplays; present for display the content using the initial zoom level;and in response to a zoom command, resize the content presented fordisplay using a zoom step that is computed against the arbitraryconstant.
 10. The at least one non-transitory computer readable storagemedium of claim 9, wherein the content to be displayed is paginated andthe initial zoom level and zoom step are applied to one or more pages ofthe content, such that only a single page or page group is displayed atany one time.
 11. The at least one non-transitory computer readablestorage medium of claim 9, wherein the arbitrary constant is furtherbased on a plurality of known sizes of different virtual windows. 12.The at least one non-transitory computer readable storage medium ofclaim 9, wherein the arbitrary constant is an average hypotenuse sizecomputed from a plurality of hypotenuse sizes of the different physicaldisplays.
 13. The at least one non-transitory computer readable storagemedium of claim 9, wherein the plurality of known sizes of the differentphysical displays upon which the arbitrary constant is based isuser-selectable.
 14. The at least one non-transitory computer readablestorage medium of claim 9, wherein the arbitrary constant is based on anaverage height-width size combination computed from a plurality ofheight-width size combinations of the different physical displays. 15.The at least one non-transitory computer readable storage medium ofclaim 13, wherein the operations provide a universal zoom mode for aneReader application.
 16. A computing system comprising: one or moreprocessors; and a memory for storing a zoom mode application executableby the one or more processors to set an initial zoom level using anarbitrary constant that is independent of content to be displayed,wherein the arbitrary constant is predetermined based on multipledisplay sizes; present for display the content using the initial zoomlevel; and in response to a zoom command, resize the content presentedfor display using a zoom step that is computed against the arbitraryconstant.
 17. The system of claim 16, wherein the content to bedisplayed is paginated and the initial zoom level and zoom step areapplied to one or more pages of the content, such that only a singlepage or page group is displayed at any one time.
 18. The system of claim16, wherein the arbitrary constant is based on a plurality of knownsizes of different physical displays.
 19. The system of claim 16,wherein the arbitrary constant is based on an average hypotenuse sizecomputed from a plurality of hypotenuse sizes of different virtualwindows.
 20. The system of claim 16, wherein the arbitrary constant isbased on a plurality of known sizes of different virtual windows. 21.The system of claim 16, wherein the arbitrary constant is based on anaverage height-width size combination computed from a plurality ofheight-width size combinations of different physical displays.
 22. Thesystem of claim 20, wherein the system is a mobile computing devicehaving an integral display screen.